package com.shensi.api.admin.domian.station.vo;

import com.shensi.api.admin.domian.coupon.dto.ThresholdDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Auther: LogicQin
 * @Date: 2023/8/4 11:32
 * @Description:
 */
@ApiModel(description = "优惠券活动信息")
public class CouponActivityVo {

    @ApiModelProperty(value = "主键ID")
    private String id;

    @ApiModelProperty(value = "油站名称", required = true)
    private String stationName;

    @ApiModelProperty(value = "活动名称", required = true)
    private String activityName;

    @ApiModelProperty(value = "活动状态未开始、进行中、已暂停、已结束", required = true)
    private String activityStatus;

    @ApiModelProperty(value = "发放类型（0手动发放，1支付后，2plus，3数据预录）", required = true)
    private String issueType;

    @ApiModelProperty(value = "参与用户类型", required = true)
    private String userType;

    @ApiModelProperty(value = "活动开始时间", required = true)
    private String activityStartTime;

    @ApiModelProperty(value = "活动结束时间", required = true)
    private String activityEndTime;

    @ApiModelProperty(value = "开始时间", required = true)
    private String startTime;

    @ApiModelProperty(value = "结束时间", required = true)
    private String endTime;

    @ApiModelProperty(value = "总共能参与的次数", required = true)
    private int totalParticipationTimes;

    @ApiModelProperty(value = "创建时间", required = true)
    private String createTime;

    @ApiModelProperty(value = "创建人", required = true)
    private String createBy;

    @ApiModelProperty(value = "修改时间", required = true)
    private Date updateTime;

    @ApiModelProperty(value = "修改人", required = true)
    private String updateBy;

    @ApiModelProperty(value = "优惠券发放列表", required = true)
    private List<String> issueIds;

    @ApiModelProperty(value = "金额与优惠券id关联列表", required = true)
    private List<ThresholdDto> thresholdLadder;

    @ApiModelProperty(value = "消费发放类型 0: 定值发放，1: 阶梯发放")
    private String distributionType;

    @ApiModelProperty(value = "活动门槛")
    private BigDecimal activityThreshold;

    @ApiModelProperty(value = "油企id")
    private Long enterpriseId;

    @ApiModelProperty(value = "选择 all全选 part指定")
    private String memberCondition;

    @ApiModelProperty(value = "等级 普卡1银卡2金卡3钻卡4黑卡5超级会员6")
    private String memberLevelList;

    @ApiModelProperty(value = "支付状态 微信1支付宝2现金3银行卡4电子卡5实体卡6")
    private String payMentList;

    @ApiModelProperty(value = "用户状态 标签1")
    private String userMentList;

    public String getPayMentList() {
        return payMentList;
    }

    public void setPayMentList(String payMentList) {
        this.payMentList = payMentList;
    }

    public String getUserMentList() {
        return userMentList;
    }

    public void setUserMentList(String userMentList) {
        this.userMentList = userMentList;
    }

    public String getMemberCondition() {
        return memberCondition;
    }

    public void setMemberCondition(String memberCondition) {
        this.memberCondition = memberCondition;
    }

    public String getMemberLevelList() {
        return memberLevelList;
    }

    public void setMemberLevelList(String memberLevelList) {
        this.memberLevelList = memberLevelList;
    }


    private String wxContent;

    private Integer sendFlag;

    public String getWxContent() {
        return wxContent;
    }

    public void setWxContent(String wxContent) {
        this.wxContent = wxContent;
    }

    public Integer getSendFlag() {
        return sendFlag;
    }

    public void setSendFlag(Integer sendFlag) {
        this.sendFlag = sendFlag;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getActivityStatus() {
        return activityStatus;
    }

    public void setActivityStatus(String activityStatus) {
        this.activityStatus = activityStatus;
    }

    public String getIssueType() {
        return issueType;
    }

    public void setIssueType(String issueType) {
        this.issueType = issueType;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getActivityStartTime() {
        return activityStartTime;
    }

    public void setActivityStartTime(String activityStartTime) {
        this.activityStartTime = activityStartTime;
    }

    public String getActivityEndTime() {
        return activityEndTime;
    }

    public void setActivityEndTime(String activityEndTime) {
        this.activityEndTime = activityEndTime;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public int getTotalParticipationTimes() {
        return totalParticipationTimes;
    }

    public void setTotalParticipationTimes(int totalParticipationTimes) {
        this.totalParticipationTimes = totalParticipationTimes;
    }


    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }
    public CouponActivityVo() {
    } // All-Argument Constructor
    public CouponActivityVo(String id, String stationName, String activityName, String activityStatus,
                            String issueType, String userType, String activityStartTime, String activityEndTime,
                            int totalParticipationTimes, String createTime, String createBy, Date updateTime,
                            String updateBy) {
        this.id = id;
        this.stationName = stationName;
        this.activityName = activityName;
        this.activityStatus = activityStatus;
        this.issueType = issueType;
        this.userType = userType;
        this.activityStartTime = activityStartTime;
        this.activityEndTime = activityEndTime;
        this.totalParticipationTimes = totalParticipationTimes;
        this.createTime = createTime;
        this.createBy = createBy;
        this.updateTime = updateTime;
        this.updateBy = updateBy;
    }
    @Override
    public String toString() {
        return "CouponActivity{" +
                "id='" + id + '\'' +
                ", stationName='" + stationName + '\'' +
                ", activityName='" + activityName + '\'' +
                ", activityStatus='" + activityStatus + '\'' +
                ", issueType='" + issueType + '\'' +
                ", userType='" + userType + '\'' +
                ", activityStartTime=" + activityStartTime +
                ", activityEndTime=" + activityEndTime +
                ", totalParticipationTimes=" + totalParticipationTimes +
                ", createTime=" + createTime +
                ", createBy='" + createBy + '\'' +
                ", updateTime=" + updateTime +
                ", updateBy='" + updateBy + '\'' +
                '}';
    }


    public List<String> getIssueIds() {
        return issueIds;
    }

    public void setIssueIds(List<String> issueIds) {
        this.issueIds = issueIds;
    }

    public BigDecimal getActivityThreshold() {
        return activityThreshold;
    }

    public void setActivityThreshold(BigDecimal activityThreshold) {
        this.activityThreshold = activityThreshold;
    }

    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }


    public String getDistributionType() {
        return distributionType;
    }

    public void setDistributionType(String distributionType) {
        this.distributionType = distributionType;
    }

    public List<ThresholdDto> getThresholdLadder() {
        return thresholdLadder;
    }

    public void setThresholdLadder(List<ThresholdDto> thresholdLadder) {
        this.thresholdLadder = thresholdLadder;
    }
}
